<!-- 
    模仿编写可视化大屏页面
        https://github.com/iGaoWei/BigDataView.git   github
        https://gitee.com/iGaoWei/big-data-view.git  gitee
 -->








<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>作业</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
    </style>
</head>

<body>
    <span class="counter">
        <button class="sub">-</button>
        <span>0</span>
        <button class="add">+</button>
    </span>

    <span class="counter">
        <button class="sub">-</button>
        <span>0</span>
        <button class="add">+</button>
    </span>

    <span class="counter">
        <button class="sub">-</button>
        <span>0</span>
        <button class="add">+</button>
    </span>

    <script>
        // 0.计数器案例
        // 单个
        let num = 10
        let btns = document.querySelectorAll(".counter button")
        let sub_btn = btns[0]
        let add_btn = btns[1]
        let num_ele = document.querySelector(".counter span")
        num_ele.innerText = num

        sub_btn.onclick = function () {
            num--
            num_ele.innerText = num
        }

        add_btn.onclick = function () {
            num++
            num_ele.innerText = num
        }


        // 多个
        let nums = [10, 15, 20]
        let counters = document.querySelectorAll(".counter")
        counters.forEach(function (item, index) {
            let btns = item.querySelectorAll("button")
            let sub_btn = btns[0]
            let add_btn = btns[1]
            let num_ele = item.querySelector("span")
            num_ele.innerText = nums[index]

            sub_btn.onclick = function () {
                nums[index]--
                num_ele.innerText = nums[index]
            }

            add_btn.onclick = function () {
                nums[index]++
                num_ele.innerText = nums[index]
            }
        })




        // // 1.一个数与3的和是5的倍数, 与3的差是6的倍数, 1000以内有几个
        // function fun() {
        //     let count = 0
        //     for (let i = 0; i < 1001; i++) {
        //         if ((i + 3) % 5 == 0 && (i - 3) % 6 == 0) {
        //             console.log(i);
        //             count++
        //         }
        //     }
        //     return count
        // }
        // console.log(fun());



        

        // // 2.输入一个数计算该数的阶乘5!= 120 = 5 * 4 * 3 * 2 * 1
        // function fun(n) {
        //     let total = 1
        //     for (let i = n; i >= 1; i--) {
        //         total *= i
        //     }
        //     return total
        // }
        // console.log(fun(5));



        


        // // 3.求1 - 100间的所有奇数和，如果是5的倍数则不参与求和计算
        // function fun() {
        //     let total = 0
        //     for (let i = 1; i < 101; i++) {
        //         if (i % 2 == 1 && i % 5 != 0) {
        //             total += i
        //         }
        //     }
        //     return total
        // }
        // console.log(fun());







        // // 4.求1000以内最大的5个能同时被3和6整除的数的平均数
        // function fun() {
        //     let total = 0
        //     let datas = []
        //     for (let i = 1000; i >= 1; i--) {
        //         if (i % 3 == 0 && i % 6 == 0) {
        //             datas.push(i)
        //             total += i
        //             if (datas.length == 5) {
        //                 break
        //             }
        //         }
        //     }
        //     return total / 5
        // }
        // console.log(fun());






        // // 5.1000~200之间不能被3整除的前20个数的平均值
        // function fun() {
        //     let datas = []
        //     let total = 0
        //     for (let i = 1000; i >= 200; i--) {
        //         if (i % 3 != 0) {
        //             datas.push(i)
        //             total += i
        //             if (datas.length == 20) {
        //                 break
        //             }
        //         }
        //     }
        //     return total / 20
        // }
        // console.log(fun());






        // // 6.斐波那数列：1，1，2，3，5，8，13，21，34，55，89... 求第n个数
        // // 遍历法
        // function fun(n) {
        //     let f = 1, s = 1, t
        //     for (let i = 0; i < n - 2; i++) {
        //         t = f + s
        //         f = s
        //         s = t
        //     }
        //     return t
        // }
        // let r = fun(10)
        // console.log(r);


        // // 递归法
        // function fun(n) {
        //     if (n === 1 || n === 2) {
        //         return 1
        //     }
        //     else {
        //         return fun(n - 1) + fun(n - 2)
        //     }
        // }
        // console.log(fun(11));






        // // 7.随机生成5 - 10之间的数字，直到所有数字之和大于100，计算随机的次数
        // function fun() {
        //     let total = 0
        //     let count = 0
        //     while (true) {
        //         let data = Math.floor(Math.random() * (10 - 5 + 1)) + 5
        //         total += data
        //         count++
        //         if (total > 100) {
        //             break
        //         }
        //     }
        //     return `次数${count}  总和${total}`
        // }
        // console.log(fun());







        // 8.输入10个数字， 打印输入数字最大值与最小值的差
        // function fun() {
        //     let max_value = -Infinity
        //     let min_value = Infinity
        //     for (let i = 0; i < 10; i++) {
        //         let input = parseInt(prompt(`输入第${i + 1}个数`))
        //         if (max_value < input) {
        //             max_value = input
        //         }
        //         if (min_value > input) {
        //             min_value = input
        //         }
        //     }
        //     return max_value - min_value
        // }
        // let r = fun()
        // console.log(r);






        // // 9.随机生成10个位于10 - 50之间的数字，打印25以上与25以下平均数的差值
        // function fun() {
        //     let heigh_datas = []
        //     let low_datas = []
        //     let heigh_total = 0
        //     let low_total = 0
        //     for (let i = 1; i < 11; i++) {
        //         let data = Math.floor(Math.random() * (50 - 10 + 1) + 10)
        //         if (data >= 25) {
        //             heigh_datas.push(data)
        //             heigh_total += data
        //         }
        //         else {
        //             low_datas.push(data)
        //             low_total += data
        //         }
        //     }
        //     return heigh_total / heigh_datas.length - low_total / low_datas.length
        // }
        // console.log(fun());






        // // 10.求500到1000中间最大的10个质数的平均数
        // function fun() {
        //     let datas = []
        //     let total = 0
        //     for (let i = 1000; i >= 500; i--) {
        //         let is_prime = true
        //         for (let j = 2; j < i; j++) {
        //             if (i % j == 0) {
        //                 is_prime = false
        //                 break
        //             }
        //         }
        //         if (is_prime) {
        //             total += i
        //             datas.push(i)
        //         }
        //         if (datas.length == 10) {
        //             break
        //         }
        //     }
        //     return total / 10
        // }
        // console.log(fun());

    </script>
</body>

</html>